home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / nss / nssbase.h < prev    next >
C/C++ Source or Header  |  2006-04-20  |  5KB  |  171 lines

  1. /* ***** BEGIN LICENSE BLOCK *****
  2.  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3.  *
  4.  * The contents of this file are subject to the Mozilla Public License Version
  5.  * 1.1 (the "License"); you may not use this file except in compliance with
  6.  * the License. You may obtain a copy of the License at
  7.  * http://www.mozilla.org/MPL/
  8.  *
  9.  * Software distributed under the License is distributed on an "AS IS" basis,
  10.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11.  * for the specific language governing rights and limitations under the
  12.  * License.
  13.  *
  14.  * The Original Code is the Netscape security libraries.
  15.  *
  16.  * The Initial Developer of the Original Code is
  17.  * Netscape Communications Corporation.
  18.  * Portions created by the Initial Developer are Copyright (C) 1994-2000
  19.  * the Initial Developer. All Rights Reserved.
  20.  *
  21.  * Contributor(s):
  22.  *
  23.  * Alternatively, the contents of this file may be used under the terms of
  24.  * either the GNU General Public License Version 2 or later (the "GPL"), or
  25.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  26.  * in which case the provisions of the GPL or the LGPL are applicable instead
  27.  * of those above. If you wish to allow use of your version of this file only
  28.  * under the terms of either the GPL or the LGPL, and not to allow others to
  29.  * use your version of this file under the terms of the MPL, indicate your
  30.  * decision by deleting the provisions above and replace them with the notice
  31.  * and other provisions required by the GPL or the LGPL. If you do not delete
  32.  * the provisions above, a recipient may use your version of this file under
  33.  * the terms of any one of the MPL, the GPL or the LGPL.
  34.  *
  35.  * ***** END LICENSE BLOCK ***** */
  36.  
  37. #ifndef NSSBASE_H
  38. #define NSSBASE_H
  39.  
  40. #ifdef DEBUG
  41. static const char NSSBASE_CVS_ID[] = "@(#) $RCSfile: nssbase.h,v $ $Revision: 1.3 $ $Date: 2005/01/20 02:25:45 $";
  42. #endif /* DEBUG */
  43.  
  44. /*
  45.  * nssbase.h
  46.  *
  47.  * This header file contains the prototypes of the basic public
  48.  * NSS routines.
  49.  */
  50.  
  51. #ifndef NSSBASET_H
  52. #include "nssbaset.h"
  53. #endif /* NSSBASET_H */
  54.  
  55. PR_BEGIN_EXTERN_C
  56.  
  57. /*
  58.  * NSSArena
  59.  *
  60.  * The public methods relating to this type are:
  61.  *
  62.  *  NSSArena_Create  -- constructor
  63.  *  NSSArena_Destroy
  64.  */
  65.  
  66. /*
  67.  * NSSArena_Create
  68.  *
  69.  * This routine creates a new memory arena.  This routine may return
  70.  * NULL upon error, in which case it will have created an error stack.
  71.  *
  72.  * The top-level error may be one of the following values:
  73.  *  NSS_ERROR_NO_MEMORY
  74.  *
  75.  * Return value:
  76.  *  NULL upon error
  77.  *  A pointer to an NSSArena upon success
  78.  */
  79.  
  80. NSS_EXTERN NSSArena *
  81. NSSArena_Create
  82. (
  83.   void
  84. );
  85.  
  86. extern const NSSError NSS_ERROR_NO_MEMORY;
  87.  
  88. /*
  89.  * NSSArena_Destroy
  90.  *
  91.  * This routine will destroy the specified arena, freeing all memory
  92.  * allocated from it.  This routine returns a PRStatus value; if 
  93.  * successful, it will return PR_SUCCESS.  If unsuccessful, it will
  94.  * create an error stack and return PR_FAILURE.
  95.  *
  96.  * The top-level error may be one of the following values:
  97.  *  NSS_ERROR_INVALID_ARENA
  98.  *
  99.  * Return value:
  100.  *  PR_SUCCESS upon success
  101.  *  PR_FAILURE upon failure
  102.  */
  103.  
  104. NSS_EXTERN PRStatus
  105. NSSArena_Destroy
  106. (
  107.   NSSArena *arena
  108. );
  109.  
  110. extern const NSSError NSS_ERROR_INVALID_ARENA;
  111.  
  112. /*
  113.  * The error stack
  114.  *
  115.  * The public methods relating to the error stack are:
  116.  *
  117.  *  NSS_GetError
  118.  *  NSS_GetErrorStack
  119.  */
  120.  
  121. /*
  122.  * NSS_GetError
  123.  *
  124.  * This routine returns the highest-level (most general) error set
  125.  * by the most recent NSS library routine called by the same thread
  126.  * calling this routine.
  127.  *
  128.  * This routine cannot fail.  It may return NSS_ERROR_NO_ERROR, which
  129.  * indicates that the previous NSS library call did not set an error.
  130.  *
  131.  * Return value:
  132.  *  0 if no error has been set
  133.  *  A nonzero error number
  134.  */
  135.  
  136. NSS_EXTERN NSSError
  137. NSS_GetError
  138. (
  139.   void
  140. );
  141.  
  142. extern const NSSError NSS_ERROR_NO_ERROR;
  143.  
  144. /*
  145.  * NSS_GetErrorStack
  146.  *
  147.  * This routine returns a pointer to an array of NSSError values, 
  148.  * containingthe entire sequence or "stack" of errors set by the most 
  149.  * recent NSS library routine called by the same thread calling this 
  150.  * routine.  NOTE: the caller DOES NOT OWN the memory pointed to by 
  151.  * the return value.  The pointer will remain valid until the calling 
  152.  * thread calls another NSS routine.  The lowest-level (most specific) 
  153.  * error is first in the array, and the highest-level is last.  The 
  154.  * array is zero-terminated.  This routine may return NULL upon error; 
  155.  * this indicates a low-memory situation.
  156.  *
  157.  * Return value:
  158.  *  NULL upon error, which is an implied NSS_ERROR_NO_MEMORY
  159.  *  A NON-caller-owned pointer to an array of NSSError values
  160.  */
  161.  
  162. NSS_EXTERN NSSError *
  163. NSS_GetErrorStack
  164. (
  165.   void
  166. );
  167.  
  168. PR_END_EXTERN_C
  169.  
  170. #endif /* NSSBASE_H */
  171.